#if !defined(__VOXELDATA_H__)
#define __VOXELDATA_H__

#include "capturedFrameData.h"
#include "marchingCubes.h"

bool voxelData_InitVoxelRegion(int cubeSizeInMm, int voxelSizeInMm);
void voxelData_DiscardVoxelRegion();
bool voxelData_SaveToFile(const char * fileName);
bool voxelData_LoadFromFile(const char * fileName);
void voxelData_ClearVoxelRegion();
int voxelData_VoxelToMm(int voxPos);
unsigned char * voxelData_getVoxelFromMm(int mmX, int mmY, int mmZ);
unsigned char * voxelData_getVoxel(int x, int y, int z);
void voxelData_Compute3dPoints(tFrameData * frame);
int voxelData_GetVoxelsPerRow();
int voxelData_GetVoxelState(int x, int y, int z);
float voxelData_GetVoxelCertainty(int x, int y, int z);
GRIDCELL voxelData_GetVoxelAsMarchingCubeGridcell(int x, int y, int z);

#endif